// import 'package:common_utils/common_utils.dart';
// import 'package:flutter/material.dart';
// import 'package:flutter/services.dart';
// import 'package:intl/intl.dart';
// import 'package:flutter_syt/api/api.dart';
// import 'package:flutter_syt/application.dart';
// import 'package:flutter_syt/domain/login/login_password_page.dart';
// import 'package:flutter_syt/domain/login/widgets/login_input_decorator.dart';
// import 'package:flutter_syt/domain/login/widgets/login_protocol.dart';
// import 'package:flutter_syt/domain/widgets/code_form_field.dart';
// import 'package:flutter_syt/generated/l10n.dart';
// import 'package:flutter_syt/global_common.dart';
// import 'package:flutter_syt/global_easy_loading.dart';
// import 'package:flutter_syt/routes.all.dart';
// import 'package:flutter_syt/utils/click_utils.dart';
// import 'package:flutter_syt/utils/utils_other.dart';
// import 'package:flutter_syt/widgets/dyt_aliyun_widget.dart';
// import 'package:yyy_route_annotation/yyy_route_annotation.dart';
//
// class LogonByCodeEmail extends StatefulWidget {
//   @override
//   LogonByCodeEmailState createState() => LogonByCodeEmailState();
// }
//
// class LogonByCodeEmailState extends State<LogonByCodeEmail>
//     with AutomaticKeepAliveClientMixin {
//   final _formKey = GlobalKey<FormState>();
//
//   FocusNode phoneFocusNode = FocusNode();
//   FocusNode pwdFocusNode = FocusNode();
//
//   String _email = '';
//   String _password = '';
//
//   bool _agree = false;
//   FocusNode emailFocusNode = FocusNode();
//   bool pwsEmailobscureText = true;
//   TextEditingController _textEditingController = TextEditingController();
//   @override
//   bool get wantKeepAlive => true;
//   @override
//   Widget build(BuildContext context) {
//     super.build(context);
//     return Form(
//       key: _formKey,
//       child: Container(
//         // padding: EdgeInsets.only(top: 500),
//         margin: EdgeInsets.symmetric(horizontal: 30),
//         child: Column(
//           children: [
//             BlurRectWidget(
//               TextFormField(
//                 enableInteractiveSelection: false,
//                 maxLength: 32,
//                 inputFormatters: [
//                   FilteringTextInputFormatter.deny(appContext.emojiRegexp)
//                 ],
//                 autofocus: false,
//                 controller: _textEditingController,
//                 focusNode: emailFocusNode,
//                 style:
//                     TextStyle(color: Colors.white, fontSize: 16, height: 1.5),
//                 cursorColor: Colors.white,
//                 decoration: LoginInputDecoration(
//                     hintText: S.of(context).enter_mobile_email),
//                 onSaved: (val) {
//                   if (val != null) {
//                     _email = val;
//                     appContext.storage.setString("login_email", _email);
//                   }
//                 },
//                 keyboardType: TextInputType.text,
//                 autocorrect: false,
//               ),
//             ),
//             SizedBox(
//               height: 24,
//             ),
//             BlurRectWidget(
//               CodeFormField(
//                 tagStr: 'loginbycodeemail',
//                 focusNode: pwdFocusNode,
//                 getSmsCode: getEmailCode,
//                 decoration: LoginInputDecoration(),
//                 onSaved: (val) {
//                   _password = val!;
//                 },
//               ),
//             ),
//             Container(
//               alignment: Alignment.centerLeft,
//               margin: const EdgeInsets.only(top: 4),
//               width: double.infinity,
//               child: Theme(
//                 // Create a unique theme with `ThemeData`
//                 data: ThemeData(
//                     splashColor: Colors.yellow,
//                     textButtonTheme: TextButtonThemeData(
//                       style: TextButton.styleFrom(
//                         // primary: Colors.white,
//                         padding: EdgeInsets.symmetric(horizontal: 0),
//                       ),
//                     )),
//                 child: TextButton(
//                   child: Text(
//                     S.of(context).log_in_with_password,
//                   ),
//                   onPressed: ClickUtils.debounce(() {
//                     Navigator.of(context).pop();
//                   }),
//                 ),
//               ),
//             ),
//             SizedBox(
//               height: 20,
//             ),
//             LoginProtocol(onChange: (value) {
//               setState(() {
//                 _agree = value;
//               });
//             }),
//             Container(
//               margin: const EdgeInsets.only(top: 30, bottom: 16),
//               width: double.infinity,
//               child: ElevatedButton(
//                   child: Text(
//                     S.of(context).log_in,
//                     style: TextStyle(fontWeight: FontWeight.bold),
//                   ),
//                   onPressed: ClickUtils.debounce(
//                     () async {
//                       await _submit();
//                     },
//                   )),
//             ),
//             Container(
//               child: TextButton(
//                 style: TextButton.styleFrom(
//                   // primary: Colors.white,
//                 ),
//                 onPressed: ClickUtils.debounce(() {
//                   RouteManager.push(
//                     context,
//                     RoutMapping.register(),
//                   );
//                 }),
//                 child: Text(
//                   S.of(context).sign_up,
//                   style: TextStyle(fontWeight: FontWeight.bold),
//                 ),
//               ),
//             ),
//           ],
//         ),
//       ),
//     );
//   }
//
//   Future<bool> getEmailCode() async {
//     if (!_agree) {
//       customShowToast(S.of(context).privacy_policy_consent_t);
//       return false;
//     }
//     final form = _formKey.currentState;
//     form!.save();
//     if (!RegexUtil.isEmail(_email)) {
//       customShowToast(S.of(context).enter_valid_email);
//       return false;
//     }
//     bool isVertifica = await UtilsOther.checkShowVertification(
//         account: _email,
//         context: context,
//         status: DytAliyunStatus.DytAliyunStatusLogin);
//     if (isVertifica == false) {
//       return false;
//     }
//
//     // DLog(_email);
//     // return false;
//     try {
//       bool res = await API.shared.login.getEmailCode(_email, 'login');
//       return res;
//     } catch (e) {
//       await UtilsOther.showCustomShowError(e);
//       // if (e is DioError) {
//       //   customShowError(e.message);
//       // } else {
//       //   customShowError(S().network_error);
//       // }
//       return false;
//     }
//   }
//
//   Future _login() async {
//     // await API.shared.login.phoneCodeLogin(_phone.areaCode, _phone.phone, _code);
//     await API.shared.login.emailCodeLogin(_email, _password);
//     await API.shared.user.updateUserInfo('lang',
//         appContext.storage.getString("storyLocal") ?? Intl.getCurrentLocale());
//   }
//
//   Future _submit() async {
//     if (!_agree) {
//       customShowToast(S.of(context).privacy_policy_consent_t);
//       return;
//     }
//     final form = _formKey.currentState;
//     if (form!.validate()) {
//       form.save();
//       await loading(_login, text: S.of(context).on_login);
//       customShowToast(S.of(context).login_success);
//
//       Navigator.of(context).popUntil((route) {
//         print('pageName: ${route.settings.name}, isFirst: ${route.isFirst}');
//         if (GlobalData.pageFrom.isNotEmpty) {
//           if (GlobalData.pageFrom == route.settings.name) {
//             GlobalData.cleanPage();
//             return true;
//           } else {
//             return false;
//           }
//         }
//         return route.isFirst;
//       });
//       // Navigator.of(context).popUntil((route) {
//       //   print('pageName: ${route.settings.name}, isFirst: ${route.isFirst}');
//       //   return route.isFirst;
//       // });
//     }
//   }
//
//   @override
//   void initState() {
//     super.initState();
//     String cacheEmail = appContext.storage.getString("login_email") ?? '';
//     if (cacheEmail.isNotEmpty) {
//       _textEditingController.text = cacheEmail;
//     }
//   }
//
//   @override
//   void dispose() {
//     super.dispose();
//   }
//
//   @override
//   void didUpdateWidget(LogonByCodeEmail oldWidget) {
//     super.didUpdateWidget(oldWidget);
//   }
//
//   @override
//   void didChangeDependencies() {
//     super.didChangeDependencies();
//   }
// }
